package com.whfc.openapi.api.mach.service;


import com.whfc.common.result.ListData;
import com.whfc.common.result.PageData;
import com.whfc.fuum.dto.SysMachListDTO;
import com.whfc.mach.dto.*;

import java.util.Date;

/**
 * @author sun_guodong
 * @description 开放平台-设备管理
 * @date 2020-06-22
 */
public interface OpenApiMachService {

    /**
     * 开放平台获取设备类型列表
     *
     * @return
     */
    ListData<SysMachListDTO> typeList();

    /**
     * 开放平台获取设备列表（分页）
     *
     * @param deptId
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageData<OpenApiMachDTO> list(Integer deptId, Integer pageNum, Integer pageSize);

    /**
     * 开放平台获取设备列表（不分页）
     *
     * @param deptId
     * @return
     */
    ListData<OpenApiMachDTO> list(Integer deptId);

    /**
     * 开放平台获取单台设备信息
     *
     * @param machId
     * @return
     */
    OpenApiMachDTO detail(Integer machId);

    /**
     * 开放平台查询设备每日工时
     *
     * @param machId
     * @param date
     * @return
     */
    AppMachWorkHourDayDTO workHour(Integer machId, Date date);

    /**
     * 开放平台查询设备每日油耗
     *
     * @param machId
     * @param date
     * @return
     */
    OpenApiOilWearDTO oilWear(Integer machId, Date date);

    /**
     * 开放平台查询设备每日油位信息
     *
     * @param machId
     * @param date
     * @return
     */
    ListData<Oil> oilPos(Integer machId, Date date);

    /**
     * 开放平台查询设备每日位置信息
     *
     * @param machId
     * @param date
     * @return
     */
    ListData<Gps> gps(Integer machId, Date date);

}
